﻿<html>
<head>
    <meta http-equiv="Content-Type" content="text/html;charset:utf-8"/>
    <title>自动登录(AutoLogin) - 帮助文档</title>
    <link rel="icon" href="imgs/favicon.ico" type="image/vnd.microsoft.icon">
    <link id="css" rel="stylesheet" href="styles/help.css"/>
    <base target="_self"/>
</head>
<script type="text/javascript" src="scripts/jquery.js"></script>
<script type="text/javascript" src="scripts/help.js"></script>
<body>
<div id="left_pane">
    <div id="title">目 录</div>
</div>
<div id="right_pane">
<div id="article_head">
    <div id="title">自动登录(AutoLogin) - 帮助文档</div>
    <div id="subtitle">AutoLogin版本：1.0 Alpha</div>
    <div id="subtitle">帮助文档版本：1.0 Alpha</div>
</div>
<h1>自动登录(AutoLogin)</h1>
<h2>关于AutoLogin</h2>
    <p>自动登录(AutoLogin) HTML应用，简称AutoLogin，是一个免费、开源应用软件。
        该软件运行在Internet Explorer或使用使内核的浏览器中，
        为用户保存所支持网站的用户名和密码，并提供一键式登录功能。
        避免了用户每次登录某个或者某些网站都要输入密码的繁琐操作。</p>
    <p>软件作者：<a href="mailto:jamefancy@foxmail.com">边城狂人 (James Fancy)</a></p>
    <p>软件博客：<a href="http://hi.baidu.com/jamesfancy">边城客栈-乐在其中</a>
        <a href="http://happy.jamesfancy.cn">(happy.jamesfancy.cn)</a></p>
    <p>谷歌项目：<a href="http://code.google.com/p/autologin-web/">http://code.google.com/p/autologin-web/</a></p>
    <p>错误报告：<a href="http://code.google.com/p/autologin-web/issues/entry?template=报告错误">点此报告错误</a></p>
    <p>提出需求：<a href="http://code.google.com/p/autologin-web/issues/entry?template=提出需求">点此提出需求</a></p>
    <p>了解AutoLogin的下个版本：此项内容会随时更新，请<a href="http://code.google.com/p/autologin-web/wiki/VersionPlan">点此查看</a></p>
<h2>运行AutoLogin需要的环境</h2>
    <p>AutuLogin在运行时会自动检测所需要的如下环境条件是否具备。</p>
    <div class="in"><ul>
        <li>Internet Explorer或使用IE内核的浏览器。</li>
        <p>想选择一款IE内核的Web浏览器？<a href="#faq_browser">请看这里...</a></p>
        <li>FSO(FileSystemObject) ActiveX控件。</li>
        <p>FSO是WSH(Windows Script Host，Windows脚本宿主)提供的组件之一。通常WSH会随Windows一起安装，
            但你也可以单独去下载安装最新版本。</p>
        <p>AutoLogin提示不能创建FSO对象，该怎么办？<a href="">请看这里...</a></p>
        <li>需要用户允许AutoLogin与ActiveX交互。<a href="#TODO">详情&gt;&gt;</a></li>
    </ul></div>
<h2>安装AutoLogin</h2>
<h2>运行AutoLogin</h2>
<h1>用户数据是安全的</h1>
    <p>AutoLogin需要收集用户在网站上的用户名和密码，并保存起来，在进行一键式登录的时候使用。
        但是请您放心，你输入的用户名和密码都不会被泄漏。AutoLogin从两个方面保护你的信息安全。</p>
    <div class="in"><ol class="header">
        <li>AutoLogin不会非法收集您的信息</li>
        <p>AutoLogin要求您输入的用户名和密码等信息仅保存在本地计算机中，不会上传到Internet,
            更不可能泄漏给其它人。关于这一点，AutoLogin是通过开源来保证的。</p>
        <p>AutoLogin使用的是基于静态HTML和CSS、Javascript的技术，不需要编译，
            所有代码完全对用户透明。AutoLogin保证不含非法收集用户信息的代码。</p>
        <li>AutoLogin保存的用户数据是经过DES加密的</li>
        <p>DES加密算法是一种可逆算法，它的密钥是用户设置的密码。
            所以，只要您保护好自己的登录(AutoLogin)密码，您的数据就是安全的。
            不过由于DES的安全性保证还不够强壮，AutoLogin会在下一个版本使用AES来代替DES。</p>
    </ol></div>
    <p class="att"><strong>特别注意</strong>：虽然AutoLogin从以上两个方面保护用户数据的安全。
        但并不是每个用户都会(或者能)阅读源代码。为了确保你使用的AutoLogin未被非法改动，
        请在官方提供的下载地址下载AutoLogin。</p>
<h1>使用AutoLogin</h1>
<h2>用户管理</h2>
<div class="in">
    <h3>添加新用户</h3>
    <h3>登录AutoLogin</h3>
    <h3>修改密码</h3>
    <h3>更换头像</h3>
    <h3>删除用户</h3>
</div>
<h2>网站登录</h2>
<h1>开发相关内容</h1>
<h2>AutoLogin中使用的技术</h2>
<div class="in">
    <h3>HTML+CSS+Javascript</h3>
    <div class="in">
        <p>AutoLogin是纯本地应用，不需要任何Web服务器支持。
            AutoLogin的用户界面是由HTML+CSS构建和美化的。
            其控制部分由Javascript实现。其中Javascript技术中使用了JQuery库。</p>
        <p>关于HTML的详细信息请参阅：<a href="http://zh.wikipedia.org/wiki/HTML">维基百科-HTML</a></p>
        <p>关于CSS的详细信息请参阅：<a href="http://zh.wikipedia.org/w/index.php?title=CSS">维基百科-CSS</a></p>
        <p>关于Javascript的详细信息请参阅：<a href="http://zh.wikipedia.org/w/index.php?title=Javascript">维基百科-Javascript</a></p>
        <p>关于JQuery的详细信息请参阅：<a href="http://zh.wikipedia.org/w/index.php?title=Jquery">维基百科-JQuery</a></p>
    </div>
        <h3>Javascript版的DES加密算法</h3>
    <div class="in">
        <p>AutoLogin中的DES加密算法相关代码来自<a href="http://www.tero.co.uk/des/code.php">tero.co.uk</a>，
            并略做处理以方便使用。</p>
    </div>
</div>
<h2>编码和加密：alCoder</h2>
    <p>coder.js中包含一个JSON对象alCoder，用于AutoLogin中的编/解码和加/解密。</p>
    <p>alCoder.base64包含了encode、decode和encode2、decode2两组编/解码函数。
        其中encode和decode用于对单字节字符组成的String进行编/解码，比如DES的结果；
        而encode2和decode2则用于编/解码包含双字节字符的String，比如中文。</p>
    <p>alCoder.des包含了encrypt和decrypt两个函数用于对信息进行DES加/解密。
        由于要处理中文，原信息和DES加/解密之间进行了一次Base64编码转换。
        而实际的DES编/解码程序保存在alCoder.$des中。</p>
<h2>网页对话框组件：AlDialog</h2>
    <p>这里所说的网页对话框不是指由windows对象的showModalDialog或showModelessDialog
        调用HTML页面打开的对话框，而是在网页上用&lt;div&gt;定义的对话框。</p>
    <p>虽然JQuery UI里已经提供了对话框组件，但是JQuery UI定义得很复杂，需要大量的CSS和图片支持，
        感觉比较重量级，所以AutoLogin中重新定义了一个轻量级，且非常灵活的对话框AlDialog，
        保存在dialog.js中。</p>
    <div class="in">
        <a name="dev_dlg_config"></a><h3>AlDialog配置</h3>
        <div class="in">
            <p>AlDialog构造的时候通过传入一个JSON对象来进行配置。默认的配置如下</p>
<pre>
{
    mark: {
        background: "#666666",
        alpha: 40,
        clickToClose: true,
        zIndex: 100
    },
    dialog: {
        modal: true,
        zIndex: 120
    }
};
</pre>
            <p>各部分配置内容如下：</p>
            <ul>
                <li class="header">mark</li>
                <p>配置模式对话框掩板</p>
                <li>mark.background</li>
                <p>掩板的背景，规则同CSS的background属性。</p>
                <li>mark.alpha</li>
                <p>掩板的透明度。</p>
                <li>mark.zIndex</li>
                <p>掩板的Z向位置，规则同CSS的z-index属性。</p>
                <li>mark.clickToClose</li>
                <p>布尔值。为真时点击掩板(即对话框外)会关闭对话框。</p>
                <li class="header">dialog</li>
                <p>配置对话框</p>
                <li>dialog.modal</li>
                <p>布尔值。如果为真，对话框默认(show函数打开)为模式对话框；否则默认为非模式对话框。
                    不论其值为何，showModal函数都将按模式对话框打开。</p>
                <li>dialog.zIndex</li>
                <p>对话框的Z向位置，规则同CSS的z-index属性。其值应该比mark.zIndex大。</p>
            </ul>
        </div>
        <h3>对话框的方法</h3>
        <div class="in">
            <ul>
                <li>AlDialog(selector, options, initFunc)，构造方法。</li>
                <p>selector是JQuery对象或者符号JQuery的选择规则的字符串。
                    options是配置对象，相关内容参阅<a href="#dev_dlg_config">AlDialog配置部分</a>。
                    initFunc是用于初始化的回调函数。</p>
                <li>setOptions(options)方法</li>
                <p>设置对话框属性，相关内容参阅<a href="#dev_dlg_config">AlDialog配置部分</a>。</p>
                <li>result(data)</li>
                <p>设置对话框的返回值，任意类型。返回当前AlDialog对象。</p>
                <li>result()</li>
                <p>获取由result(data)设置的对话框的返回值。</p>
                <li>show()</li>
                <p>显示对话框。由配置决定是否模式方式。</p>
                <li>showDialog()</li>
                <p>按模式方式显示对话框。</p>
                <li>close()</li>
                <p>关闭对话框。</p>
            </ul>
        </div>
        <h3>对话框的回调函数</h3>
        <div class="in">
            <p>所有对话框回调函数中都可以通过this访问当前AlDialog对象。</p>
            <ul>
                <li>初始化回调函数</li>
                <p>通过构造函数中的第三个参数传入。</p>
                <li>closing(func)</li>
                <p>设置closing回调函数，在关闭对话框之前执行。该函数如果返回false，则取消关闭对话框。</p>
                <li>closed(func)</li>
                <p>设置closed回调函数，在关闭对话框之后执行。通常用于获取返回值。</p>
                <p>在回调函数中使用this.result()即可获得返回值。</p>
            </ul>
        </div>
        <h3>为控件绑定事件</h3>
        <div class="in">
            <ul>
                <li>bindEvnet(selector, type, func)</li>
                <p>该函数为某个'控件'(对话框DOM中的某个元素)的指定事件绑定一个函数。</p>
                <p>selector，JQuery对象或者JQuery选择器。通过它找到'控件'。</p>
                <p>type，事件名称，比如"click"、"hover"等。</p>
                <p>func，绑定给事件的函数。如果type为"hover"，按JQuery的规则，需要指定两个回调函数。
                    所以，这时func应该是一个函数，或者函数数组。如果是个函数，或者数组中只有一个函数，则绑定到over。
                    数组中如果有2个函数，则第2个函数绑定到out。</p>
                <li>bindEvents(selector, events)</li>
                <p>一次为某1个'控件'绑定多个回调函数。</p>
                <p>events是一个JSON对象，其key为type名，对应的value为回调函数。</p>
                <li>bind(jsonObj)</li>
                <p>一次为多个'控件'绑定任意个回调函数。</p>
                <p>jsonObj为一个JSON对象，其key为selector，对应的value为events，JSON对象。</p>
                <p>示例</p>
<pre>
dialog.bind({
    "#reset": {
        hover: [
            function() {
                $(this).css("text-decoration", "underline");
            },
            function() {
                $(this).css("text-decoration", "");
            }
        ],
        click: function() {
            alert("reset");
        }
    },
    "#ok": {
        click: function() {
            alert("ok");
        }
    }
});
</pre>
            </ul>
        </div>
    </div>
<h2>文件路径相关工具AlPathTool</h2>
<h2>表单处理相关工具FormTool</h2>
<h2>用户数据AlUser和AlUserInfo</h2>
<h2>事件处理和控制controls.js</h2>
<h2>帮助文档中的动态控制help.js</h2>
<h1>常见问题及解答</h1>
<h2>环境相关问题</h2>
<div class="in">
    <a name="faq_browser"></a><h3>哪些浏览器是使用IE内核的(可运行AutoLogin)？</h3>
    <div class="in">
        <p>下面介绍了一些使用IE内核的免费Web浏览器</p>
        <div class="in"><ul>
            <li><a href="http://www.microsoft.com/china/windows/products/winfamily/ie/default.mspx">Internet Explorer</a></li>
            <p>这个由Microsoft公司随Windows提供的浏览器，不仅使用IE内核，它就是IE内核的提供者！</p>
            <li><a href="http://www.maxthon.cn/">傲游浏览器 (Maxthon Browser)</a></li>
            <p>Maxthon可以说是目前做得最好，功能最强大的IE内核多页面浏览器了。</p>
            <li><a href="http://gosurfbrowser.com/?ln=cn">GOSURF浏览器</a></li>
            <p>GOSURF浏览器的最大优势在于它的资源占用很小。</p>
            <li><a href="http://www.morequick.com/indexgb.htm">GreenBrowser</a></li>
            <p>官方介绍：GreenBrowser 是你最好的容易上手，高效贴心的绿色浏览器!</p>
            <li><a href="http://www.ioage.com/cn/">世界之窗浏览器 (TheWorld Browser)</a></li>
            <p>官方介绍：这是一款小巧快速、安全稳定、功能贴心的绿色浏览器</p>
            <li><a href="http://tt.qq.com/">TT浏览器</a></li>
            <p>官方介绍：腾讯TT是一款集多线程、黑白名单、智能屏蔽、鼠标手势等功能于一体的多页面浏览器，具有快速、稳定、安全的特点</p>
        </ul></div>
    </div>
    <a name="faq_fso"></a><h3>AutuLogin提示不能创建FSO对象，该怎么办？</h3>
    <div class="in">
        <p>FSO是Windows脚本缩主提供的ActiveX组件之一，如果不能创建FSO对象，通常可能有两个原因</p>
        <div class="in"><ol>
            <li>浏览器的安全设置不允许Javascript访问ActiveX控件。</li>
            <p>这种情况下，请打开IE的Internet选项(或Internet属性)，在“安全”选项卡中，选中本地图标，点击“默认级别”按钮。
                如果这个办法仍然不能解决问题，请检查是否安装FSO组件(参见下条)。</p>
            <li>未安装FSO组件。如果是这个原因，需要去下载并安装Windows Script。</li>
            <ul>
                <li><a href="http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=c717d943-7e4b-4622-86eb-95a22b832caa">用于 Windows 2000 和 XP 的 Windows Script 5.6</a></li>
                <li><a href="http://www.microsoft.com/DownLoads/details.aspx?familyid=47809025-D896-482E-A0D6-524E7E844D81&displaylang=en">Windows Script 5.7 for Windows XP</a></li>
            </ul>
        </ol></div>
    </div>
    <a name="faq_activex_safe"></a><h3>能不能禁止掉关于ActiveX控件交互不安全的提示？</h3>
    <div class="in">
        <p>每次从AutoLogin的欢迎页面进入系统的时候，都会收到一个关于ActiveX控件交互不安全的提示。
            这是因为AutoLogin中的脚本需要访问FSO控件。IE会提示用户以确保安全。提示如下图</p>
        <p class="c"><img src="imgs/help/h_activex_safe.png"/></p>
        <p>如果在从AutoLogin欢迎界面进入系统的时候遇到这个提示，请选择“是”让AutoLogin能够使用FSO控制。
            否则AutoLogin将不能使用。<span class="att">如果是其它情况遇到这个提示，请慎重考虑。</span></p>
        <p>因为这个提示跟系统安全息息相关，目前尚没找到一个好办法将其对AutoLogin自动放行。</p>
    </div>
</div>
<h2>使用AutoLogin的问题</h2>
<div class="in">
    <h3>怎么添加自己的头像？</h3>
</div>
</div>
</body>
</html>
